package co.edu.uniquindio.delegados;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import co.edu.uniquindio.ejbremotos.SubastaEjbRemote;
import co.edu.uniquindio.logica.SubHolandesa;
import co.edu.uniquindio.logica.SubInglesa;
import co.edu.uniquindio.logica.SubSilenciosa;

public class SubastaDelegado implements SubastaEjbRemote
{
	/**
	 * instancia estatica de una subasta delegado
	 */
	public static SubastaDelegado me;
	/**
	 * este atributo representa una subasta remota
	 */
	private SubastaEjbRemote EJB;
	/**
	 * 
	 */
	public SubastaDelegado() 
	{
		// TODO Auto-generated constructor stub
		try {
			EJB = (SubastaEjbRemote) new InitialContext().lookup("java:global/Subasta/SubastaEjb!co.edu.uniquindio.ejbRemotos.SubastaEjbRemote");
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}
	/**
	 * este metodo permite crear una unica instancia estatica de un automovil delegado
	 * @return
	 */
	public static SubastaDelegado getSubastaDelegado()
	{
		if (me == null)
			me = new SubastaDelegado();
		return me;
	}
	@Override
	public void crearSubastaInglesa(SubInglesa sub)
			throws Exception {
		// TODO Auto-generated method stub
		EJB.crearSubastaInglesa(sub);
		
	}
	@Override
	public void crearSubastaHolandesa(SubHolandesa sub)
			throws Exception {
		// TODO Auto-generated method stub
		EJB.crearSubastaHolandesa(sub);
	}
	@Override
	public void crearSubastaSilenciosa(SubSilenciosa sub)
			throws Exception {
		// TODO Auto-generated method stub
		EJB.crearSubastaSilenciosa(sub);
	}
}
